<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>
        function People(name,age)   //构造函数
        {
            this.name=name   
            this.age=age;
        }
        People.prototype.first='李'
        function Driver()   //构造函数
        {
            People.call(this,'李司机',19)  //在调用people构造函数时，把people的this指向了目前driver的this，相当于继承
            this.driver=function()
            {
                console.log(this.name+'在开车，今年'+this.age);
            }
        }
       
        Driver.prototype=new People('老司机',60)   //利用原型来实现继承
        Driver.prototype.constructor=Driver;  //指向自身函数
        var d=new Driver()   //必须先继承然后实例化对象才能有使用原型对象
        d.driver()
        console.log(d.first);

        //Data扩展
        //js内置的Date对象不允许直接被继承
        function MyDate()
        {
            Date.call(this)
        }
        var dated=new Date()
        MyDate.prototype=dated;

        
        var myd=new MyDate();
        console.log(myd);
        console.log('获取年==>',myd.getFullYear());//Date对象方法里面有限制，限制只能Date构造函数的实例化才能使用


        var dd=new Date()
        console.log(dd);
    </script>
    
</body>
</html>